package com.zmm.myyimixian.ui.activity.login;

import android.content.DialogInterface;
import android.support.design.widget.TextInputEditText;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Toast;

import com.zmm.myyimixian.R;
import com.zmm.myyimixian.base.BaseActivity;
import com.zmm.myyimixian.db.MyUser;
import com.zmm.myyimixian.util.TextUtils;

import butterknife.BindView;
import butterknife.OnClick;
import cn.bmob.v3.listener.SaveListener;

/**
 * 注册界面
 */
public class RegActivity extends BaseActivity {


    @BindView(R.id.reg_toolbar)
    Toolbar regToolbar;//toolbar
    @BindView(R.id.reg_et_name)
    TextInputEditText regEtName;//手机号
    @BindView(R.id.reg_et_pass)
    TextInputEditText regEtPass;//密码

    @Override
    protected void initView() {
        regToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    @OnClick({R.id.reg_btn_reg})
    public void onClick(View view) {
        if (view.getId() == R.id.reg_btn_reg) {
            regUser();//注册
        }
    }

    //注册的方法
    private void regUser() {
        //判断输入的数据是否有空字符
        if (TextUtils.isNull(regEtName) || TextUtils.isNull(regEtPass)) {
            regEtName.setError("用户名或密码不能为空");
            return;
        }
        final String phone = regEtName.getText().toString();
        final String pass = regEtPass.getText().toString();
        if (TextUtils.isMobileNO(phone)) {//验证输入的是否是手机号
            //验证密码长度和是否包含中文
            if (pass.length() >= 6 && pass.length() <= 16 && !TextUtils.isContainsChinese(pass)) {
                // 使用BmobSDK提供的注册功能
                MyUser user = new MyUser();
                user.setUsername(phone);
                user.setPassword(pass);
                user.setPass(pass);
                user.signUp(RegActivity.this, new SaveListener() {
                    @Override
                    public void onSuccess() {
                        //注册成功后 弹出对话框，是否登陆
                        AlertDialog.Builder builder = new AlertDialog.Builder(RegActivity.this);
                        builder.setTitle("提示")
                                .setMessage("注册成功，是否立即登陆?").setCancelable(false)// 设置点击其他区域,dialog是否可以消失
                                .setPositiveButton("是", new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        finish();
                                    }
                                }).setNegativeButton("否", null);
                        // 创建对话框对象
                        AlertDialog alertDialog = builder.create();
                        // 显示对话框.
                        alertDialog.show();
                    }

                    @Override
                    public void onFailure(int i, String s) {
                        switch (i){
                            case 202:
                                Toast.makeText(RegActivity.this, "您已经注册过了！", Toast.LENGTH_SHORT).show();
                                break;
                            default:
                                Toast.makeText(RegActivity.this, "网络异常，请稍后重试", Toast.LENGTH_SHORT).show();
                                break;
                        }
                    }
            });
            }else {
                regEtPass.setError("密码格式错误请重新输入");
            }

        }else {
            regEtName.setError("手机格式错误,请重新输入");
        }
    }

    @Override
    public int getLayoutId() {
        return R.layout.activity_reg;
    }

}
